package evemanutool.data.database;
import java.util.ArrayList;
import evemanutool.constants.DBConstants;
import evemanutool.data.general.Time;
public class ManuQuote implements DBConstants {
//BPO Info
private final Blueprint bpo;
private boolean baseBPOSeededOnMarket;
//Time
private final Time manuTime;
//Cost & Income
private final double manuCost;
private final double sellIncome;
private final double profit;
private final double profitPerHour;
private final double salesVolumeRatio;
private final Trend productTrend;
private double sustainableProfitValue;
//Required materials.
private final int runs;
private ArrayList<Material> matList;
private Invention inv;
private ReverseEngineering rev;
private final MatAcquirePriority prio;
public ManuQuote( Blueprint bpo, Time manuTime, double manuCost, double sellIncome, double profit,
double profitPerHour, double salesVolumeRatio, int runs, ArrayList<Material> matList,
MatAcquirePriority prio, Trend trend) {
this.bpo = bpo;
this.manuTime = manuTime;
this.manuCost = manuCost;
this.sellIncome = sellIncome;
this.profit = profit;
this.profitPerHour = profitPerHour;
this.salesVolumeRatio = salesVolumeRatio;
this.runs = runs;
this.matList = matList;
this.prio = prio;
this.productTrend = trend;
}
//Initiates all fields.
public ManuQuote( Blueprint bpo, Time manuTime, double manuCost, double sellIncome, double profit,
double profitPerHour, double salesVolumeRatio, int runs, ArrayList<Material> matList,
MatAcquirePriority prio, Trend trend, boolean baseBPOSeededOnMarket) {
this.bpo = bpo;
this.manuTime = manuTime;
this.manuCost = manuCost;
this.sellIncome = sellIncome;
this.profit = profit;
this.profitPerHour = profitPerHour;
this.salesVolumeRatio = salesVolumeRatio;
this.runs = runs;
this.matList = matList;
this.prio = prio;
this.baseBPOSeededOnMarket = baseBPOSeededOnMarket;
this.productTrend = trend;
}
public Blueprint getBpo() {
return bpo;
}
public double getManuCost() {
return manuCost;
}
public Time getManuTime() {
return manuTime;
}
public ArrayList<Material> getMatList() {
return matList;
}
public void setMatList(ArrayList<Material> matList) {
this.matList = matList;
}
public double getProfit() {
return profit;
}
public double getProfitPerHour() {
return profitPerHour;
}
public double getSellIncome() {
return sellIncome;
}
public double getSalesVolumeRatio() {
return salesVolumeRatio;
}
public double getSustainableProfitValue() {
return sustainableProfitValue;
}
public void setSustainableProfitValue(double sustainableProfitValue) {
this.sustainableProfitValue = sustainableProfitValue;
}
public int getRuns() {
return runs;
}
public Invention getInv() {
return inv;
}
public void setInv(Invention inv) {
this.inv = inv;
}
public ReverseEngineering getRev() {
return rev;
}
public void setRev(ReverseEngineering rev) {
this.rev = rev;
}
public MatAcquirePriority getPrio() {
return prio;
}
public Trend getProductTrend() {
return productTrend;
}
@Override
public boolean equals(Object obj) {
if (obj instanceof ManuQuote) {
return getBpo().getBlueprintItem().getTypeId() ==
((ManuQuote) obj).getBpo().getBlueprintItem().getTypeId();
}
return false;
}
@Override
public int hashCode() {
return getBpo().getBlueprintItem().getTypeId();
}
public boolean isBaseBPOSeededOnMarket() {
return baseBPOSeededOnMarket;
}
public void setBaseBPOSeededOnMarket(boolean baseBPOSeededOnMarket) {
this.baseBPOSeededOnMarket = baseBPOSeededOnMarket;
}
}